
class MojException extends Exception
{
	MojException (String w) { super (w);}
};

//alalalala

public class Liczba {
	private int liczba_10;
	private int liczba_10_zapasowa;
	
	public int[] liczba_w_nowym_systemie;
	public int dlugosc;
	
	public static int potega(int podstawa, int wykladnik) 
	{
	    int wynik=podstawa;
	    int i=0;
	    if(wykladnik==0)
	    {
	        wynik=1;
	    }
	    else
	    {
	        for(i=1;i<wykladnik;i++)
	        {
	            wynik=wynik*podstawa;
	        }
	    }
	    return wynik;
	}
	
	public void zamien_na_inny_system(int podst_wyjsc) throws MojException
	{		
		if (podst_wyjsc<2 || podst_wyjsc>17) throw new MojException("Zla podstawa wyjsciowa");
		else
	    {
			int wykladnik=0;			
			int liczba=0;
		    this.dlugosc=0;	    
		    
		    this.liczba_10_zapasowa=this.liczba_10;

		    while(potega(podst_wyjsc,this.dlugosc+1)<=this.liczba_10)
		    {
		        this.dlugosc=this.dlugosc+1;
		    }

		    this.liczba_w_nowym_systemie=new int[this.dlugosc+1];

		    int i=0;
		    for(i=0;i<=this.dlugosc;i++)
		    {
		        liczba_w_nowym_systemie[i]=0;
		    }

		    while(this.liczba_10>0)
		    {
		        wykladnik=0;
		        liczba=0;
		        while(potega(podst_wyjsc,wykladnik+1)<=this.liczba_10)
		        {
		            wykladnik=wykladnik+1;
		        }
		        while((liczba+1)*potega(podst_wyjsc,wykladnik)<=this.liczba_10)
		        {
		            liczba=liczba+1;
		        }
		        this.liczba_10=this.liczba_10-liczba*potega(podst_wyjsc,wykladnik);

		        liczba_w_nowym_systemie[wykladnik]=liczba;
		    }
		    for(i=this.dlugosc;i>=0;i--)
		    {
		    	System.out.print(liczba_w_nowym_systemie[i]+" ");	    	
		    }
		    this.liczba_10=this.liczba_10_zapasowa;
		}
	}
	    
	
	Liczba(int a)
	{
		this.liczba_10=a;
	}	
}
